package com.algorithm.ch1.hf.array;

/**
 * 从排序数组中删除重复项
 *
 * 给定 nums = [0,0,1,1,1,2,2,3,3,4],
 *
 * 函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。
 */
public class removeDuplicates {

    public static void main(String[] args) {
        int[] nums = new int[]{0,0,1,1,1,2,2,3,3,4,5,8,10,10,32};
        int i = delete(nums);
        System.out.print("all no repeat num:" + i + " ： ");
        for(int a = 0; a < i;a++) {
            System.out.print(nums[a]+" , ");
        }
    }

    public static int delete(int[] nums){
        int a = 0;
        int temp;
        for(int x = 1;x < nums.length;x++) {
            temp = nums[a];
            if(nums[x] != temp) {
                //调换位置
                a++;
                temp = nums[x];
                nums[x] = nums[a];
                nums[a] = temp;
            }
        }
        return a + 1;
    }
}
